package com.jt.controller;

import com.jt.mapper.ItemDescMapper;
import com.jt.pojo.Item;
import com.jt.pojo.ItemDesc;
import com.jt.vo.EasyUITable;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.jt.service.ItemService;
import org.springframework.web.bind.annotation.RestController;

@RestController //由于ajax调用 采用JSON串返回
@RequestMapping("/item")
public class ItemController {
	
	@Autowired
	private ItemService itemService;

	/**
	 *
	 */
	@RequestMapping("/query")
	public EasyUITable findItemByPage(Integer page,Integer rows){

		return itemService.findItemByPage(page,rows);
	}

	/**
	 * 1 业务需求 完成商品入库操作 如果成功返回vo对象
	 *  url:/item/save
	 *   参数:整个表单数据
	 *   返回值 SysResult Vo对象
	 */
	@RequestMapping("/save")
	public SysResult saveItem(Item item, ItemDesc itemDesc){

		itemService.saveItem(item,itemDesc);
		return SysResult.success();
	/*	try {
			itemService.saveItem(item);

			return SysResult.success();
		}catch (Exception e){
			e.printStackTrace();

			return  SysResult.fail();
		}*/

	}
	/**
	 *  url:http://localhost:8091/item/update
	 *  参数  form表单提交
	 *   返回值 SysResult对象
	 */
	@RequestMapping("/update")
	public SysResult updateItem(Item item,ItemDesc itemDesc){

		itemService.updateItem(item,itemDesc);
		return SysResult.success();
	}

	/** 业务商品删除
	 *  url地址 : http://localhost:8091/item/delete
	 *  请求参数   ids: 1474391958,1474391969,1474391968
	 *  返回值类型 （看js） 系统返回值vo
	 */
	@RequestMapping("/delete")
	public SysResult deleteItems(Long[] ids){
		itemService.deleteItems(ids);
		return SysResult.success();

	}
	/**
	 *  商品的上下架
	 *  URL: http://localhost:8091/item/updateStatus/1
	 *  	http://localhost:8091/item/updateStatus/2
	 *  请求参数 ids: 1352521,1474391969,1474391968
	 *
	 *
	 */
	@RequestMapping("/updateStatus/{status}")
	public SysResult updateStatus(@PathVariable  Integer status, Long[] ids){

		itemService.updateStatus(status,ids);
		return SysResult.success();
	}

	/** 动态获取商品详情信息
 	 *
	 */
	@RequestMapping("/query/item/desc/{itemId}")
	public SysResult findItemDescById(@PathVariable Long itemId){

		ItemDesc itemDesc = itemService.findItemDescById(itemId);
		return SysResult.success(itemDesc);
	}

}
